iT邦幫忙

2025 iThome 鐵人賽

DAY 1
3

筆者為了從零開始學習這三個技術所以揉合出這個主題。

主要是把實作驗證後的知識記錄下來,除了實作步驟,也會講為什麼這麼做、背後的優缺點是什麼,讓理論跟實作並行。

學習的過程會用很多不同 AI 工具,也是筆者一個嘗試將 AI 融入消化知識的流程裡,透過摸索跟驗證找到更適合特定場景跟目的的學習工具包。

這一系列主要會專注在 Golang 學習,大約會有 50%,那 Elasticsearch 約 20%, Kubernetes 為 30%。

這個系列是面向讀的是對於這三種技術都沒有相關知識跟經驗的工程師。如果有 Python, Node.js 等後端經驗有助於上手,但沒有也不妨礙閱讀與實作。

在這一系列文章結束後,你可以獲得一個 GitHub repo 跟初學者指南。

如果有任何想法,都歡迎留言交流。

草擬大綱如下:

Phase 1 — Golang(Day 1–14)→ Day 15 Recap

Day 主題 目標
1 專案骨架 go mod init、REST /healthz 起跑
2 測試骨架 table-driven 單測 2 則
3 中介層 結構化日誌、Recovery、設定
4 API 成形 /search 先回假資料
5 context/timeout 所有外呼加 timeout
6 錯誤策略 %w 包裝、分類重試(退避+抖動)
7 微基準 go test -bench 建立基線
8 併發基礎 worker pool(有限併發)
9 pprof 找到 1 個熱點並改善
10 指標輸出 暴露 QPS/Latency
11 ES 介面層 定義 SearchService(尚未連 ES)
12 整合測試 以假 ES 寫 E2E
13 打通真路徑 連上本機 ES 的 smoke test
14 穩定化 清理目錄、補測試、寫 README
15 Recap 複習 Golang 內容

Phase 2 — Elasticsearch(Day 16–21)→ Day 22 Recap

Day 主題 目標
16 安裝起床 Docker 單節點、固定 mapping
17 查詢打底 match/bool/terms
18 分頁方案 換成 search_after
19 Bulk 匯入 5–10 萬筆
20 參數調優 微調刷新/副本並壓測
21 備份還原 1 次 Snapshot/Restore
22 Recap 複習 Elasticsearch 內容

Phase 3 — Kubernetes(Day 23–30)→ Day 30 Recap & Final

Day 主題 目標
23 容器化 多階段 Dockerfile、probe
24 基礎部署 Deployment + Service + Config/Secret
25 資源治理 Requests/Limits 就位
26 HPA 設 CPU HPA、叢內 hey 壓測
27 邊界與權限 最小 NetworkPolicy、RBAC
28 觀測 Prom/Grafana 最小看板
29 小故障演練 刪 Pod、記 MTTR 與錯誤率尖峰
30 Phase 3 Recap & Final 複習 Kubernetes 內容、反思與展望

Let’s learn in public!🚀


下一篇
Day 2 - 專案骨架:Go 專案起跑
系列文
用 Golang + Elasticsearch + Kubernetes 打造雲原生搜尋服務6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言